package com.lucy.rabc.service;

import com.lucy.common.service.BaseService;
import com.lucy.rabc.domain.vo.RouterVO;
import com.lucy.rabc.entity.SysMenu;

import java.util.List;

/**
 * @author kindear
 */
public interface SysMenuService extends BaseService<SysMenu,Long> {

    /**
     * 根据菜单ID列表 查询菜单信息
     * @param menuIds
     * @return List
     */
    List<SysMenu> getMenus(List<Long> menuIds);

    /**
     * 构建菜单路由（递归函数）
     * @param menus
     * @return
     */
    List<RouterVO> buildMenus(List<SysMenu> menus);

    /**
     * 条件构建菜单路由
     * @param menus
     * @param menuIds
     * @return
     */
    List<RouterVO> buildMenus(List<SysMenu> menus, List<Long> menuIds);

    /**
     * 根据权限列表查询
     * @param permsList
     * @return
     */
    List<SysMenu> getMenusByPermsIn(List<String> permsList);



}
